
import { StyleValue } from "vue";
import type { LowCodeConf, LowcodeGridRowColComponents, LowCodeInfo, LowcodeMdInfo, LowcodeMenuCFG, LowcodeMenuItemCFG, LowcodePage, LowcodePagePanel, LowcodePagePanelComponentItem, LowcodeRect } from "../interface";
import type { LowcodeTableSaveData } from "../hooks/interface";

export interface MdCustomQueryProps {
  lowcodePage: LowcodePage;
  detailMdCode: string;
  mdInfo: LowcodeMdInfo;
}

export interface MdCustomQueryState {
  mdCode?: string;
  mdInfo?: LowcodeMdInfo;
  pageTitle?: string;
  systemInfo?: any;
  detailMdCode?: string;
  enableApprove?: boolean;

  navWrapRect?: LowcodeRect;
  createPopupStyle?: StyleValue;
  cntStyle?: StyleValue;

  menusCFG?: LowcodeMenuItemCFG[];
  menusCFGMore?: any[];

  fuzzyVal?: string;
  searchCardData?: { [key: string]: any };
  DYParamItems?: LowcodeDYParamItem[];
  PanelData?: { [key: string]: any };

  PanelObj?: { [key: string]: LowcodePagePanel };
  PanelGridObj?: { [key: string]: LowcodeGridRowColComponents };
  PanelCellProps?: { [key: string]: any };

  subPanelsGridObj?: { [key: string]: LowcodeGridRowColComponents[] };
  subCellProps?: { [key: string]: any };
}

export interface LowcodeDYParamItem {
  ParamName: string;
  ParamValue: string;
}

export interface FetchCustomQueryProxy {
  isOnLoad?: boolean;
}
